package Controlador;

import java.awt.event.*;

import juego.Direccion;
import juego.Juego;
import juego.NoSePuedeMoverMasJuegoFinalizado;


public class ControladorJuego {

	private Juego juego;
	
	public ControladorJuego(Juego juego) {
		
		this.juego=juego;
		
	}

	public KeyListener getKeyListener(){
		
		return new KeyListener() {
		    public void keyPressed(KeyEvent e) {  
		    	int location = e.getKeyCode();
				
		    	switch(location){
		    	
		    	case KeyEvent.VK_UP:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Arriba);
						
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
		    		break;
		    		
		    	case KeyEvent.VK_DOWN:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Abajo);
					} catch (NoSePuedeMoverMasJuegoFinalizado e2) {
						// TODO Auto-generated catch block
						e2.printStackTrace();
					}
		    		break;
		    		
		    	case KeyEvent.VK_LEFT:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Izquierda);
						
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
		    		break;
		    		
		    	case KeyEvent.VK_RIGHT:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Derecha);
						
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
		    		break;
		    	}				
		    }

			@Override
			public void keyReleased(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void keyTyped(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}
	
			
		};
	}

}